開発しちゃってからではもう遅い!運用を開発と一緒に検討する理由
はじめに
こんにちは。 ネクストモード株式会社 のharuです。
ネクストモードではMackerelをベースとしたAWSの監視・障害対応サービス「運用アシスタント」を提供しており、私は該当サービスの企画担当をしております。
皆さんはシステムの運用設計はどのタイミングで実施していますか?
システムの設計・構築に手一杯で運用についてはまだ考えられないといった話を聞くことがあります。その気持ちよく分かります。
一方、構築が完了し暫く運用していたが運用が大変なので外注したいとご相談いただくことがあります。しかし、よくよくお話を伺うとシステムの構築で設計漏れ・不備があり、その影響で運用が大変になっていたりします。
そうなんです!システムの運用は開発時に一緒に検討するのが重要と考えています。
開発と運用の連携
システムは作ったら終わりですか?
いえ、作った後もサービスを提供し続けるためにシステムは安定的に稼働する必要があります。
システムが安定的に稼働するためには日々の運用が必要であり、安定的な運用のためには何が必要かをシステムの開発時に検討し、運用しやすいシステムを構築するべきと考えています。
DevOpSは開発担当者と運用担当者が連携するソフトウェアの開発手法で、迅速な開発、製品の品質向上などのメリットがあると言われています。
なぜ開発と運用が連携すると品質が向上するのでしょうか?
例えば障害が起きた時、原因切り分けのためにシステムの様々な情報を収集します。この時、欲しい情報を取得するためのコマンドをすぐ実行したいですが、運用担当者が慣れていない装置、製品だとコマンドがすぐに出てこなかったりしますよね。開発担当者は製品A、Bの選定で悩んでいるときに運用担当者と連携していたら運用担当者が慣れている製品を選ぶことができます。
慣れた製品にすることで障害時の原因切り分けが早くなる=復旧時間の短縮となり、システムの安定性・信頼性は上がります。
他の例として東京から横浜までの移動手段を提供するサービスを企画したとします。
細かい条件は置いといて、開発担当者は電車、自動車、バイク、徒歩と色々な手段を検討し、比較した結果、バイクを選びました。そしてサービスを作って運用しようと思ったら、運用担当者はバイクの免許は持っていませんでした・・・
開発担当者と運用担当者が連携していればこんなことはおきません。
※分かりにくい例ですかね。。
システムの設計・構築で手一杯なのは分かります!ただ、何度も書きますがシステムは作って終わりではないです。安定的にサービスを提供し続けることも重要です。
ぜひ運用の検討を後回しにするのではなくシステムの設計・構築時に運用についても考慮頂ければと思います。
ネクストモードではAWSインフラの構築から運用までワンストップで提供しています!
構築が終わったので運用検討を相談したいでももちろん構いません。
何かAWSインフラの運用でお困りごとがあれば弊社サービスの運用アシスタントまでお気軽にご相談いただければと思います。